Consulta de Guías Docentes



Academic Year/course: 2020/21

439 - Bachelor's Degree in Informatics Engineering

30235 - Commercial Processors


Syllabus Information

Academic Year:
2020/21
Subject:
30235 - Commercial Processors
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
3
Semester:
Second semester
Subject Type:
---
Module:
---

1. General information

2. Learning goals

3. Assessment (1st and 2nd call)

4. Methodology, learning tasks, syllabus and resources

4.1. Methodological overview

The methodology followed in this course is oriented towards the achievement of the learning objectives. A wide range of teaching and learning tasks are implemented.  

4.2. Learning tasks

The program offered to help the student achieve the expected results includes the following activities:
  - Class attendance
  - Problem solving in small groups
  - Performing assisted laboratory practices .
  - Study and personal work, for which, in addition to the material used in the classroom and the laboratory
  - Resolution of doubts through personal tutorials or in small groups
  - Accomplishment of the corresponding evaluation tests 

4.3. Syllabus

The course will address the following topics: 

Introduction

Topic 1: Processor organization
     Review of Segmentation: exception Handling
     Multicycle operations. Out of order execution.
     Register renaming and memory disambiguation.

     Branch prediction
     Multithreading

Topic 2: Memory hierarchy organization 
     Review: basic techniques for improving performance
     Advanced techniques for improving performance
     Segmented cache access
     Multi ported caches
     Non-blocking caches
     Prefetching

Topic 3: Instruction set architecture
     Design Options
     RISC example: general purpose SPARC
     CISC example: general purpose Intel
     VLIW example: DSP TMS

Topic 4: Compilation
     Stages of compilation
     Register allocation and instruction scheduling
     Optimization
     Memory hierarchy oriented code optimization 

4.4. Course planning and calendar

The course is organized in 2 hours of class and 1 hour of problems each week.
In addition, 6 sessions of practice of 2 hours each are performed.
The schedule will be implemented for each teaching group when the academic calendar of the University of Zaragoza is approved

 

4.5. Bibliography and recommended resources

[BB: Bibliografía básica / BC: Bibliografía complementaria]

http://psfunizar7.unizar.es/br13/egAsignaturas.php?codigo=30235&Identificador=14700

  • [BB] Baer, Jean-Loup. Microprocessor architecture : from simple pipelines to chip multiprocessor / Jean-Loup Baer . New York : Cambridge University Press, 2010
  • [BB] González Colás, Antonio. Processor microarchitecture : an implementation perspective / Antonio González, Fernando Latorre and Grigorios Magklis . San Rafael : Morgan & Claypool, cop. 2011
  • [BB] Hennessy, John L. Computer architecture : a quantitative approach / John Hennessy, David A. Patterson ; with contributions by Andrea C. Arpaci-Dusseau ... [et al.] . 4th ed. San Francisco : Morgan Kaufmann, 2007
  • [BB] Patterson, David A.. Estructura y diseño de computadores : la interfaz software/hardware / David A. Patterson, John L. Hennessy ; con contribuciones de Perry Alexander ... [et al. ; versión española por, Javier Díaz Bruguera] Barcelona : Reverté, D.L. 2011


Curso Académico: 2020/21

439 - Graduado en Ingeniería Informática

30235 - Procesadores comerciales


Información del Plan Docente

Año académico:
2020/21
Asignatura:
30235 - Procesadores comerciales
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
439 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
3
Periodo de impartición:
Segundo semestre
Clase de asignatura:
---
Materia:
---

1. Información Básica

1.1. Objetivos de la asignatura

La asignatura y sus resultados previstos responden a los siguientes planteamientos y objetivos:

Alcanzar los resultados de aprendizaje y las competencias especificadas en los apartados correspondientes.

1.2. Contexto y sentido de la asignatura en la titulación

Esta asignatura completa los conocimientos en Ingeniería Informática relativos a la organización y arquitectura de computadores en el contexto de la ingeniería de computadores.

1.3. Recomendaciones para cursar la asignatura

Para cursar esta asignatura se recomienda  haber cursado la asignatura Arquitectura y Organización de Computadores 2.

2. Competencias y resultados de aprendizaje

2.1. Competencias

Al superar la asignatura, el estudiante será más competente para...

Resolver problemas y tomar decisiones con iniciativa, creatividad y razonamiento crítico.

Usar las técnicas, habilidades y herramientas de la Ingeniería necesarias para la práctica de la misma.

Diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesador y sistemas de comunicaciones.

Desarrollar procesadores específicos y sistemas empotrados, así como desarrollar y optimizar el software de dichos sistemas.

Analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.

Analizar, evaluar y seleccionar las plataformas hardware y software más adecuadas para el soporte de aplicaciones empotradas y de tiempo real.

Analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos.

2.2. Resultados de aprendizaje

El estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados...

Conoce técnicas de aumento de prestaciones, tales como multithreading y ejecución fuera de orden, y sabe analizar su influencia en el rendimiento del sistema.

Conoce las arquitecturas de los procesadores contemporáneos de propósito general, identificando sus objetivos (coste, velocidad, consumo, etc.). Es capaz de mejorar el rendimiento de códigos críticos para objetivos concretos, de forma manual o guiando al compilador mediante las opciones de compilación.

Conoce extensiones de repertorio (multimedia, seguridad, etc.) y el papel del compilador en su explotación (vectorización, compilación iterativa, etc.).

Conoce varias arquitecturas de propósito específico, tales como microcontroladores, DSPs, procesadores multimedia, procesadores gráficos, o de red.

2.3. Importancia de los resultados de aprendizaje

Esta asignatura busca ofrecer una visión amplia de la arquitectura y organización de los procesadores comerciales. Se examinan mercados muy diferentes: desde los segmentos de bajo consumo (móviles, tablets, etc.) hasta los de altas prestaciones (cloud, supercomputación), pasando por varios tipos de sistemas empotrados o de propósito específico (redes de sensores, procesadores gráficos, instrumentación médica). El alumno termina conociendo ejemplos de las principales arquitecturas del mercado, lo que le permitirá: i) conseguir códigos eficientes (en recursos, tiempo o consumo) para todas ellas, ii) analizar, evaluar y seleccionar las plataformas hardware mas adecuadas para distintos ámbitos como sistemas empotrados, servidores, etc. iii) desarrollar nuevos procesadores adaptados a necesidades específicas.

3. Evaluación

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

El estudiante deberá demostrar que ha alcanzado los resultados de aprendizaje previstos mediante las siguientes actividades de evaluacion

La evaluación constará de tres partes:

  1. Defensa de las prácticas de laboratorio (30 puntos).
  2. Presentación de resultados sobre trabajo práctico no presencial (10 puntos).
  3. Examen de teoría y problemas (60 puntos).

Para superar la asignatura el alumno deberá obtener al menos 50 puntos sobre el total y al menos 24 puntos sobre 60, es decir, un 4 sobre 10, en el examen. En el caso de no alcanzar un 4 sobre 10 en el examen, la nota del alumno en la convocatoria coincidirá con la obtenida en dicho  examen.

La entrega de resultados de prácticas de laboratorio y trabajo práctico no presencial se realizará coincidiendo con las fechas programadas para examen en cada convocatoria.

4. Metodología, actividades de aprendizaje, programa y recursos

4.1. Presentación metodológica general

Seguimiento de las actividades de aprendizaje programadas en la asignatura.

4.2. Actividades de aprendizaje

El programa que se ofrece al estudiante para ayudarle a lograr los resultados previstos comprende las siguientes actividades.

  • Asistencia con aprovechamiento a las clases presenciale
  • Resolución de problemas en grupos reducidos
  • Realización de prácticas asistidas en laboratorio.
  • Estudio y trabajo personal, para lo cual,  además del material utilizado en las clases y el laboratorio
  • Resolución de dudas mediante tutorías personalizadas o en pequeños grupos
  • Realización de las pruebas de evaluación correspondientes

4.3. Programa

Presentación

Módulo 1: Organización del procesador

  • Repaso segmentados: tratamiento de excepciones
  • Operaciones multiciclo. Ejecución fuera de orden
  • Renombre de registros y memoria. Predicción de saltos
  • Multithreading

Módulo 2: Organización de la jerarquía de memoria

  • Repaso: técnicas básicas de mejora de prestaciones
  • Técnicas avanzadas de mejora de prestaciones
  • Acceso segmentado a caches
  • Caches multipuerto
  • Caches no bloqueantes
  • Prebúsqueda

Módulo 3: Arquitectura de lenguaje máquina

  • Opciones de diseño
  • Ejemplo RISC: SPARC
  • Ejemplo CISC: Intel
  • Ejemplo VLIW: TMS

Módulo 4: Compilación

  • Etapas de compilación
  • Asignación de registros y planificación de instrucciones
  • Optimización
  • Optimización de código orientada a la jerarquía

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

El curso se organiza en 2 horas de clase mas 1 hora de problemas cada semana.

Además, se realizan 6 sesiones de prácticas de 2 horas cada una.

El calendario se concretará para cada grupo docente cuando se apruebe el calendario académico de la Universidad de Zaragoza y cada centro fije también el suyo.

 

La asignatura se compone de clases magistrales, clases de problemas, prácticas de laboratorio y trabajo práctico no presencial.

4.5. Bibliografía y recursos recomendados

[BB: Bibliografía básica / BC: Bibliografía complementaria]

http://psfunizar7.unizar.es/br13/egAsignaturas.php?codigo=30235&Identificador=14700

  • [BB] Baer, Jean-Loup. Microprocessor architecture : from simple pipelines to chip multiprocessor / Jean-Loup Baer . New York : Cambridge University Press, 2010
  • [BB] González Colás, Antonio. Processor microarchitecture : an implementation perspective / Antonio González, Fernando Latorre and Grigorios Magklis . San Rafael : Morgan & Claypool, cop. 2011
  • [BB] Hennessy, John L. Computer architecture : a quantitative approach / John Hennessy, David A. Patterson ; with contributions by Andrea C. Arpaci-Dusseau ... [et al.] . 4th ed. San Francisco : Morgan Kaufmann, 2007
  • [BB] Patterson, David A.. Estructura y diseño de computadores : la interfaz software/hardware / David A. Patterson, John L. Hennessy ; con contribuciones de Perry Alexander ... [et al. ; versión española por, Javier Díaz Bruguera] Barcelona : Reverté, D.L. 2011